package com.swan.security.auto.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Data
@ConfigurationProperties(prefix = "swan.security")
public class SecurityConfig {

    /** 校验Api 权限 */
    private boolean checkApiPermission;

    /** 公开地址  */
    private List<String> publicPath = new ArrayList<>();

    /** token 配置 */
    private TokenConfig token;

    /** 登出地址 */
    private String logoutUrl;

    @Data
    public static class TokenConfig {
        /** 秘钥 */
        private String secret;

        /** 过期时间: 毫秒 */
        private Long ttl;

        /** 是否校验 token 是否存在 */
        private boolean checkTokenExist;
    }

}
